<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    /*
        async函数返回的promise状态 由asyn函数的执行过程确定
            如果async函数返回一个值，
                那么async函数的Promise将会成为成功状态，持有的值就是返回的那个值
            如果async函数抛出一个错误，
                那么then返回的Promise将会成为拒绝状态，持有的值就是错误原因
            如果async函数返回的是一个Promise，

    */


    // await 一定要等promise状态确定之后才会往下执行
    async function test() {
        try {
            await p1;
            //.....a
            await p2;
            //.....b
            await p3;
        }catch (e) {
            
        }
    }
    test()


    p1.then(()=>{
        //......a
        return p2
    }).then(()=>{
        //......b
        return p3
    }).catch((e)=>{
        
    })

</script>
</html>